package com.example.pm.ending.server.mapper;

import com.example.pm.ending.server.pojo.entity.PublishAdmin;
import com.example.pm.ending.server.pojo.vo.PublishAdminListVO;
import com.example.pm.ending.server.pojo.vo.PublishAdminStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface PublishAdminMapper {

    /**
     * 添加新管理员公布信息
     * @param publishAdmin 新管理员公布信息参数
     * @return
     */
    int insert(PublishAdmin publishAdmin);

    /**
     * 批量添加管理员公布信息
     * @param  publishAdmins 管理员公布信息们
     * @return
     */
    int insertBatch(List<PublishAdmin>  publishAdmins);

    /**
     * 通过id删除管理员公布信息
     * @param id 管理员公布信息的id
     * @return
     */
    int deleteById(Long id);
    /**
     * 通过adminId删除管理员公布信息
     * @param adminId 管理员公布信息的id
     * @return
     */
    int deleteByAdminId(Long adminId);


    /**
     * 批量添加管理员公布信息
     * @param ids 管理员公布信息的id们
     */
    int deleteByIds(Long[] ids);

    /**
     * 动态修改管理员公布信息信息
     * @param publishAdmin 修改后的管理员公布信息信息
     * @return
     */
    int update(PublishAdmin publishAdmin);

    /**
     * 查询管理员公布信息总数
     */
    int count();
    /**
     * 查询管理员公布信息总数
     */
    int countByAdminId(Long adminId);

    /**
     * 管理员公布信息列表
     * @return List<PublishAdminListVO>
     */
    List<PublishAdminListVO> list();


    /**
     * 根据id查找管理员公布信息信息
     * @param id 管理员公布信息id
     * @return PublishAdminStandardVO
     */
    PublishAdminStandardVO getStandardById(Long id);
}


